import parseTemplate from './parseTemplateToTokens'
import renderTemplate from './renderTemplate'
window.my_template_engine = {
    render(template_str,data){
        const tokens = parseTemplate(template_str)
        const template = renderTemplate(tokens,data)
        // console.log('template: ', template);
        return template
    }
}

// const template_str  = 'hello every body my name is {{name}},  I am {{old}} years old.{{a.b.c}}'
// const data = {
//     name:'zhangSan',
//     old:18,
//     a:{
//         b:{
//             c:100
//         }
//     }
// }
// my_template_engine.render(template_str,data)

const template_str  = `
    <ul>
        {{#data}}
            <li>
                <ol>
                    <li>姓名：{{name}}</li>
                    <li>年龄：{{age}}</li>
                    <li>性别：{{gender}}</li>
                    <li>
                        爱好：
                        <ul>
                            {{#hobbies}}
                            <li>{{.}}</li>
                            {{/hobbies}}
                        </ul>
                    </li>
                </ol>
            </li>
        {{/data}}
    </ul>
`
const result = {
    data: [
        { name: '张三', age: '17', gender: 'man', hobbies: [123124, 4156, 1234432] },
        { name: '李四', age: '17', gender: 'man', hobbies: [123124, 4156, 1234432] },
        { name: '王五', age: '17', gender: 'man', hobbies: [123124, 4156, 1234432] },
        { name: '赵六', age: '17', gender: 'man', hobbies: [123124, 4156, 1234432] },
    ]
} 

document.querySelector('body').innerHTML = my_template_engine.render(template_str,result)
// const template_str  = `
//     <ul>
//         {{#data}}
//             <li>
//                 {{.}}
//             </li>
//         {{/data}}
//     </ul>
// `
// const result = {
//     data: [12,4,3523,623,523523.2354]
// } 
// my_template_engine.render(template_str,result)

// const template_str  = 'hello every body my name is {{.}}'
// const data = {
//     '.':'asdwqdasd'
// }
// my_template_engine.render(template_str,data)